home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / usr / lib / nib / Makefile.common < prev    next >
Makefile  |  1992-03-05  |  4KB  |  128 lines

  1. #
  2. # NOTE: Do NOT change this file -- InterfaceBuilder depends on it.
  3. #
  4.  
  5. OFILE_DIR = obj
  6. VPATH = $(OFILE_DIR)
  7. SOURCEFILES = $(CLASSES) $(CLASSES:.m=.h) $(INTERFACES) $(APPICON) $(DOCICONS)\
  8.     $(MFILES) $(CFILES) $(HFILES) $(PSWFILES) $(PSWMFILES) $(OTHERSRCS) \
  9.     $(OTHER_SOURCEFILES) $(TIFFFILES) $(SNDFILES) \
  10.     IB.proj Makefile $(NAME).iconheader
  11. IFLAGS = -c -s -m 755
  12. SRCPROTECTION = 444
  13. OFILES = $(PSWFILES:.psw=.o) $(PSWMFILES:.pswm=.o) $(CLASSES:.m=.o) \
  14.     $(MFILES:.m=.o) $(CFILES:.c=.o)
  15. NIBLIBDIR = /usr/lib/nib
  16. GARBAGE = $(PSWFILES:.psw=.c) $(PSWMFILES:.pswm=.m) \
  17.       $(OTHER_GARBAGE)
  18. APPICONFLAGS = -sectcreate __ICON __header $(NAME).iconheader $(ICONSECTIONS)
  19.  
  20. .c.o:
  21.     $(CC) $(CFLAGS) -c $*.c -o $(OFILE_DIR)/$*.o
  22. .m.o:
  23.     $(CC) $(CFLAGS) $(OBJCFLAGS) -c $*.m -o $(OFILE_DIR)/$*.o
  24. .psw.c:
  25.     $(PSWRAP) $(PSWFLAGS) -a -h $*.h -o $*.c $*.psw
  26. .psw.o:
  27.     $(PSWRAP) $(PSWFLAGS) -a -h $*.h -o $*.c $*.psw
  28.     $(CC) $(CFLAGS) -c $*.c -o $(OFILE_DIR)/$*.o
  29. .pswm.m:
  30.     $(PSWRAP) $(PSWFLAGS) -a -h $*.h -o $*.m $*.pswm
  31. .pswm.o:
  32.     $(PSWRAP) $(PSWFLAGS) -a -h $*.h -o $*.m $*.pswm
  33.     $(CC) $(CFLAGS) $(OBJCFLAGS) -c $*.m -o $(OFILE_DIR)/$*.o
  34.  
  35. PRODUCT_DEPENDS = $(OFILE_DIR) $(OFILES) $(OTHER_OFILES) $(INTERFACES) \
  36.     $(OTHER_PRODUCT_DEPENDS)
  37. INSTALL_DEPENDS = $(DSTROOT)$(INSTALLDIR) all $(OTHER_INSTALL_DEPENDS)
  38.  
  39. #
  40. #
  41.  
  42. all::
  43.     $(MAKE) $(NAME) "OFILE_DIR = obj" \
  44.         "CFLAGS = $(CFLAGS) -O -g -Wimplicit"
  45.  
  46. debug::
  47.     $(MAKE) $(NAME).debug "OFILE_DIR = debug_obj" \
  48.         "CFLAGS = $(CFLAGS) -g -DDEBUG -Wimplicit"
  49.  
  50. profile::
  51.     $(MAKE) $(NAME).profile "OFILE_DIR = profile_obj" \
  52.      "CFLAGS = $(CFLAGS) -O -pg -Wimplicit" \
  53.      "LIBS = -lNeXT_p -lsys_p" \
  54.      "OTHER_LIBS = $(OTHER_PROF_LIBS)"
  55.  
  56. clean::
  57.     -/bin/rm -rf $(NAME) $(NAME).debug $(NAME).profile \
  58.         obj debug_obj profile_obj $(GARBAGE) *.o gmon.out
  59.  
  60. diff:: SRCROOT
  61.     @for f in $(SOURCEFILES); \
  62.         do (echo $$f; \
  63.         csh -f -c "diff -c $(SRCROOT)/$$f $$f; exit 0") \
  64.     done
  65.  
  66. Makefile.dependencies depend: $(SOURCEFILES)
  67.     -/bin/rm -f Makefile.dependencies
  68.     $(CC) -M $(CFLAGS) $(CLASSES) $(MFILES) $(CFILES) | \
  69.         awk '{ if ($$1 != prev) { if (rec != "") print rec; \
  70.         rec = $$0; prev = $$1; } \
  71.         else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
  72.         else rec = rec " " $$2 } } \
  73.         END { print rec }' > Makefile.dependencies
  74.  
  75. installsrc:: SRCROOT
  76.     -/bin/rm -rf $(SRCROOT)
  77.     mkdirs $(SRCROOT)
  78.     chmod 755 $(SRCROOT)
  79.     tar cf - $(SOURCEFILES) | (cd $(SRCROOT); tar xf -)
  80.     chmod $(SRCPROTECTION) $(SRCROOT)/*
  81.  
  82. install:: $(INSTALL_DEPENDS)
  83.     install $(IFLAGS) $(NAME) $(DSTROOT)$(INSTALLDIR)
  84.  
  85. help::
  86.     @echo '  all (the default)'
  87.     @echo '  debug'
  88.     @echo '  profile'
  89.     @echo '  clean'
  90.     @echo '  installsrc SRCROOT=somepath'
  91.     @echo '  install [DSTROOT=somepath]'
  92.     @echo '  depend'
  93.     @echo '  diff SRCROOT=somepath'
  94.  
  95. #
  96. #
  97. $(OFILE_DIR) $(DSTROOT)$(INSTALLDIR):
  98.     mkdirs $@
  99.  
  100. SRCROOT:
  101.     @if [ -n "${$@}" ]; then exit 0; \
  102.     else echo Must define $@; exit 1; fi
  103.  
  104. $(NAME) $(NAME).debug $(NAME).profile: $(PRODUCT_DEPENDS)
  105.     @ldflags="$(LDFLAGS) $(APPICONFLAGS)"; \
  106.     for i in $(INTERFACES) nonibfiles ; do \
  107.         if [ $$i = nonibfiles ] ; then continue; fi; \
  108.         ldflags="$$ldflags -sectcreate __NIB $$i $$i"; \
  109.     done; \
  110.     for i in $(TIFFFILES) notifffiles ; do \
  111.         if [ $$i = notifffiles ] ; then continue; fi; \
  112.         ldflags="$$ldflags -sectcreate __TIFF $$i $$i"; \
  113.     done; \
  114.     for i in $(SNDFILES) nosndfiles ; do \
  115.         if [ $$i = nosndfiles ] ; then continue; fi; \
  116.         ldflags="$$ldflags -sectcreate __SND $$i $$i"; \
  117.     done; \
  118.     for i in $(LIBINTERFACES) nonibfiles ; do \
  119.         if [ $$i = nonibfiles ] ; then continue; fi; \
  120.         ldflags="$$ldflags -sectcreate __NIB $$i $(NIBLIBDIR)/$$i"; \
  121.     done; \
  122.     echo $(CC) $(CFLAGS) $$ldflags -o $@ $(OFILES) $(OTHER_OFILES) \
  123.         $(OTHER_LIBS) $(LIBS) ; \
  124.     $(CC) $(CFLAGS) $$ldflags -o $@ $(OFILES) $(OTHER_OFILES) \
  125.                      $(OTHER_LIBS) $(LIBS)
  126.  
  127.  
  128.